//package com.jt.handler;
//
//import com.jt.util.CookieUtil;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.web.servlet.HandlerInterceptor;
//import redis.clients.jedis.JedisCluster;
//
//import javax.servlet.http.Cookie;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//@Component
//public class UserInterceptor implements HandlerInterceptor {
//
//    @Autowired
//    private JedisCluster jedisCluster;
//
//    /**
//     *  实现pre的方法
//     *  返回值说明:
//     *          return  false 表示拦截 需要配合重定向一齐使用
//     *          return  ture  表示放行
//     *  需求1: 如果用户没有登录,则重定向到系统登录页面
//     *  判断条件: 如何判断用户是否登录.  1.检查Cookie中是否有记录   2.Redis中是否有记录.
//     */
//    @Override
//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//
//        //1.获取cookie
//        Cookie ticket = CookieUtil.getCookie("JT_TICKET", request);
//        if(ticket != null){
//            String value = ticket.getValue();
//            //2.获取redis
//            if(jedisCluster.exists(value)){
//                return true; //不拦截
//            }else{
//                //redis中没有对应数据,则将cookie中数据删除
//                CookieUtil.deleteCookie("JT_TICKET", "/", "jt.com",response);
//            }
//        }
//
//        //cook或redis没有数据,拦截
//        response.sendRedirect("/user/login.html");
//        return false; //拦截
//    }
//}
